package work.jame.blog.service;

import work.jame.blog.pojo.UserArticleCollect;
import com.baomidou.mybatisplus.extension.service.IService;
import work.jame.blog.pojo.vo.ArticleCollectGroupVO;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Jame
 * @since 2023-05-18
 */
public interface UserArticleCollectService extends IService<UserArticleCollect> {


    /**
     * 根据组id删除收藏
     *
     * @param groupId 组id
     * @return boolean 删除是否成功
     */
    boolean deleteByGroupId(Long groupId);

    /**
     * 保存用户收藏文章
     *
     * @param userArticleCollect userArticleCollect
     * @return 保存是否成功
     */
    boolean saveUserArticleCollect(UserArticleCollect userArticleCollect);


    /**
     * 移除收藏
     * @param groupId
     * @param articleId
     */
    boolean delete(Long groupId, Long articleId);


    /**
     * 更新收藏
     * 文章1放在A,B组中
     * 下次修改为B,C组
     * 则删除A 新增B
     * @param articleCollects
     * @return
     */
    void update(List<UserArticleCollect> articleCollects);

    /**
     * 根据文章id移除所有收藏
     * @param articleId
     * @return
     */
    boolean removeAllCollectByArticleId(Long articleId);



}
